Methods and apparatus for 2-d and 3-d scanning path visualization

ABSTRACT

Methods and apparatus for two-dimensional and three-dimensional scanning path visualization are disclosed. An example apparatus includes a parameter determiner to determine at least one of a laser beam parameter setting or an electron beam parameter setting, a melt pool geometry determiner to identify melt pool dimensions using the parameter setting, the melt pool geometry determiner to vary the parameter setting to obtain multiple melt pool dimensions, and a visualization path generator to generate a three-dimensional view of a scanning path for an additive manufacturing process using the identified melt pool dimensions, the visualization path generator to adjust the laser beam parameters based on the generated three-dimensional view.

FIELD OF THE DISCLOSURE

This disclosure relates generally to additive manufacturing and, moreparticularly, to methods and apparatus for two-dimensional andthree-dimensional scanning path visualization.

BACKGROUND

Additive manufacturing technologies (e.g., 3D printing) permit formationof three-dimensional parts from computer-aided design (CAD) models. Forexample, a 3D printed part can be formed layer-by-layer by addingmaterial in successive steps until a physical part is formed. Numerousindustries (e.g., engineering, manufacturing, healthcare, etc.) haveadopted additive manufacturing technologies to produce a variety ofproducts, ranging from custom medical devices to aviation parts.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example additive manufacturing process in whichthe methods and apparatus disclosed herein can be implemented.

FIG. 2 illustrates an example process of generating a three-dimensionalscanning path visualization using the example additive manufacturingprocess of FIG. 1.

FIGS. 3A-3D illustrate example response surface diagrams determinedusing the example process of generating a three-dimensional scanningpath visualization of FIG. 2.

FIG. 4A illustrates example two-dimensional scanning paths based oninput parameters as part of generating a three-dimensional scanning pathvisualization of FIG. 2.

FIG. 4B illustrates example percentage of volume melted based on a meltlayer as part of the two-dimensional scanning paths of FIG. 4A.

FIG. 5 illustrates an example three-dimensional geometry of a givennumber of melts based on the three-dimensional scanning pathvisualization of FIG. 4A.

FIG. 6A illustrates an example three-dimensional scanning pathdetermined using an example laser profile as part of the exampleadditive manufacturing process of FIG. 1.

FIG. 6B illustrates an example identification of negative shapedeviation and positive shape deviation based on the three-dimensionalscanning path visualization of FIG. 6A.

FIG. 7 illustrates example two-dimensional and three-dimensionalscanning tool paths and an example lack of fusion that can be identifiedusing the three-dimensional view.

FIG. 8 illustrates example three-dimensional views of differentparameter sets applied during a single build using the example additivemanufacturing process of FIG. 1.

FIG. 9 is a block diagram of an example implementation of an examplevisualization path generator that can be implemented as part of theexample additive manufacturing process of FIG. 1.

FIG. 10 illustrates a flowchart representative of example machinereadable instructions which may be executed to implement the examplevisualization path generator of FIG. 9.

FIG. 11 illustrates a flowchart representative of example machinereadable instructions which may be executed to implement the examplemelt pool geometry determiner of FIG. 9.

FIG. 12 is a block diagram of an example processing platform structuredto execute the instructions of FIGS. 10-11 to implement the examplevisualization path generator of FIG. 9.

The figures are not to scale. Wherever possible, the same referencenumbers will be used throughout the drawing(s) and accompanying writtendescription to refer to the same or like parts.

BRIEF SUMMARY

Methods and apparatus for two-dimensional and three-dimensional scanningpath visualization are disclosed.

Certain examples provide an example apparatus including a parameterdeterminer to determine at least one of a laser beam parameter settingor an electron beam parameter setting, a melt pool geometry determinerto identify melt pool dimensions using the parameter setting, the meltpool geometry determiner to vary the parameter setting to obtainmultiple melt pool dimensions, and a visualization path generator togenerate a three-dimensional view of a scanning path for an additivemanufacturing process using the identified melt pool dimensions, thevisualization path generator to adjust the laser beam parameters basedon the generated three-dimensional view.

Certain examples provide an example method including determining a laserbeam parameter setting or an electron beam parameter setting,identifying melt pool dimensions using the parameter setting, theparameter setting varied to obtain multiple melt pool dimensions,generating a three-dimensional view of a scanning path for an additivemanufacturing process using the identified melt pool dimensions, andadjusting the laser beam parameters based on the generatedthree-dimensional view.

Certain examples provide an example non-transitory computer readablestorage medium including instructions that, when executed, cause aprocessor to at least determine a laser beam parameter setting or anelectron beam parameter setting, identify melt pool dimensions using theparameter setting the parameter setting varied to obtain multiple meltpool dimensions, generate a three-dimensional view of a scanning pathfor an additive manufacturing process using the identified melt pooldimensions, and adjust the laser beam parameters based on the generatedthree-dimensional view.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings that form a part hereof, and in which is shown byway of illustration specific examples that may be practiced. Theseexamples are described in sufficient detail to enable one skilled in theart to practice the subject matter, and it is to be understood thatother examples may be utilized. The following detailed description istherefore, provided to describe an exemplary implementation and not tobe taken limiting on the scope of the subject matter described in thisdisclosure. Certain features from different aspects of the followingdescription may be combined to form yet new aspects of the subjectmatter discussed below.

“Including” and “comprising” (and all forms and tenses thereof) are usedherein to be open ended terms. Thus, whenever a claim employs any formof “include” or “comprise” (e.g., comprises, includes, comprising,including, having, etc.) as a preamble or within a claim recitation ofany kind, it is to be understood that additional elements, terms, etc.may be present without falling outside the scope of the correspondingclaim or recitation. As used herein, when the phrase “at least” is usedas the transition term in, for example, a preamble of a claim, it isopen-ended in the same manner as the term “comprising” and “including”are open ended. The term “and/or” when used, for example, in a form suchas A, B, and/or C refers to any combination or subset of A, B, C such as(1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) Bwith C, and (7) A with B and with C. As used herein in the context ofdescribing structures, components, items, objects and/or things, thephrase “at least one of A and B” is intended to refer to implementationsincluding any of (1) at least one A, (2) at least one B, and (3) atleast one A and at least one B. Similarly, as used herein in the contextof describing structures, components, items, objects and/or things, thephrase “at least one of A or B” is intended to refer to implementationsincluding any of (1) at least one A, (2) at least one B, and (3) atleast one A and at least one B. As used herein in the context ofdescribing the performance or execution of processes, instructions,actions, activities and/or steps, the phrase “at least one of A and B”is intended to refer to implementations including any of (1) at leastone A, (2) at least one B, and (3) at least one A and at least one B.Similarly, as used herein in the context of describing the performanceor execution of processes, instructions, actions, activities and/orsteps, the phrase “at least one of A or B” is intended to refer toimplementations including any of (1) at least one A, (2) at least one B,and (3) at least one A and at least one B.

As used herein, singular references (e.g., “a”, “an”, “first”, “second”,etc.) do not exclude a plurality. The term “a” or “an” entity, as usedherein, refers to one or more of that entity. The terms “a” (or “an”),“one or more”, and “at least one” can be used interchangeably herein.Furthermore, although individually listed, a plurality of means,elements or method actions may be implemented by, e.g., a single unit orprocessor. Additionally, although individual features may be included indifferent examples or claims, these may possibly be combined, and theinclusion in different examples or claims does not imply that acombination of features is not feasible and/or advantageous.

As used herein, the terms “system,” “unit,” “module,” “component,” etc.,may include a hardware and/or software system that operates to performone or more functions. For example, a module, unit, or system mayinclude a computer processor, controller, and/or other logic-baseddevice that performs operations based on instructions stored on atangible and non-transitory computer readable storage medium, such as acomputer memory. Alternatively, a module, unit, or system may include ahard-wires device that performs operations based on hard-wired logic ofthe device. Various modules, units, component, and/or systems shown inthe attached figures may represent the hardware that operates based onsoftware or hardwired instructions, the software that directs hardwareto perform the operations, or a combination thereof.

Additive manufacturing (AM), also known as 3D-printing, permits theformation of physical objects from three-dimensional (3D) model datausing layer-by-layer material addition. For example, consumer andindustrial-type 3D printers can be used for fabrication of 3D objects,with the goal of replicating a structure generated using computer-aideddesign (CAD) software. Complex 3D geometries including high-resolutioninternal features can be printed without the use of tooling, withsections of the geometries varied based on the type of material selectedfor forming the structure. However, 3D printing requires the assessmentof printing parameters, such as 3D printer-specific settings, todetermine which parameters result in the highest quality build (e.g.,limiting presence of defects and/or deviations from the originalCAD-based model). Such a process is especially critical when 3D printedparts and/or objects are used in products intended for human use (e.g.,aviation, medicine, etc.), as opposed to just prototyping needs.However, assessment of the parameters needed to improve 3D printedobject quality is time consuming and expensive, given the need to runnumerous tests and evaluate numerous 3D printed parts prior toidentifying the parameters that are most appropriate for a given 3Dprinting process. Additionally, the parameters change from 3D printer to3D printer, making the selection of parameters more intensive andintroducing variations that are difficult to account for from oneadditive manufacturing process to another. Accordingly, methods andapparatus that permit an expedited and/or automated process of 3Dprinter-specific parameter adjustments would be welcomed in thetechnology.

AM-based processes are diverse and include powder bed fusion, materialextrusion, and material jetting. For example, powder bed fusion useseither a laser or an electron beam to melt and fuse the materialtogether to form a 3D structure. Powder bed fusion can include multi jetfusion (MJF), direct metal laser sintering (DMLS), direct metal lasermelting (DMLM), electron beam melting (EBM), selective laser sintering(SLS), among others. For example, DMLM uses lasers to melt ultra-thinlayers of metal powder to create the 3D object, with the object builtdirectly from a CAD file (e.g., .STL file) generated using CAD data.Using a laser to selectively melt thin layers of metal particles permitsobjects to exhibit homogenous characteristics with fine details. Avariety of materials can be used to form 3D objects using additivemanufacturing, depending on the intended final application (e.g.,prototyping, medical devices, aviation parts, etc.). For example, theDMLM process can include the use of titanium, stainless steel,superalloys, and aluminum, among others. For example, titanium canwithstand high pressures and temperatures, superalloys (e.g., cobaltchrome) can be more appropriate for applications in jet engines (e.g.,turbine and engine parts) and the chemical industry, while 3D printedparts formed from aluminum can be used in automotive and thermalapplications.

Powder bed fusion techniques such as DMLM use a fabrication process thatis determined by a range of controlled and uncontrolled processparameters. For example, laser control parameters (e.g., position,velocity, power) as well as powder layer parameters (e.g., material,density, layer height) should be well-defined and include specificcombinations to permit adequate melting of adjacent laser scan tracksand/or the underlying substrate (e.g., previously melted layers).Experimental approaches to determine appropriate parameters combinationsare cumbersome and require repetition when parameter adjustments aremade. Any variation in a given parameter combination can furtherintroduce defects that decrease the quality of the printed 3D object.For example, pore formation in the 3D printed object can be attributedto power-velocity parameter combination of the laser, includinginsufficient re-melting of an adjacent scan vector (e.g., resulting froma wide hatch spacing, which refers to the scan spacing or separationbetween two consecutive laser beams). For example, controlling the laservelocity and/or power profile along each scan vector can changeoccurrence of pore formation or allow for optimization and/or otherimprovement of other 3D printed object properties. During the meltingprocess, the laser scanning parameters (e.g., laser size, laser shape,and/or laser scanning pattern) affect the formation of a melt pool. Themelt pool is formed when the powder melts from exposure to laserradiation, such that the melt pool includes both a width and a depthdetermined by laser characteristics (e.g., laser power, laser shape,laser size, etc.). Control of the melt pool reduces presence of defectsin the layer-by-layer build of a 3D object and subsequently determinesthe quality of the final output of the 3D printing process (e.g., objectmicrostructure). Even minor deviations in object structure and/orgeometry can result in changes in the ability of the printed part towithstand stress and/or perform a designated function, especially forapplications that require parts of the highest possible quality (e.g.,aviation parts, medical devices, etc.) rather than just for purposes ofprototyping needs. As such, improvement of the 3D printing process isnecessary, requiring assessment of melt pool characteristics, scanvectors, and/or layer formations that permit final printing features tobe aligned with the original CAD file.

Examples disclosed herein describe methods and apparatus for 2D and 3Dscanning path visualization as part of the 3D printing process. Examplemethods and apparatus disclosed herein permit users to directly assess arelationship between parameter sets and a resulting quality of the build(e.g., a final 3D printed object). For example, users can visualize alaser powder bed DMLM scan path in 2D and 3D based on measured and/orpredicted melt pool geometries. Current techniques rely on thevisualization of a scan path based on one-dimensional (1D) vectors in alayer-by-layer view, limiting the amount of information accessible tothe user. In the examples disclosed herein, melt pool information can beused to generate 2D and 3D scanning paths based on input from CADmodels. The examples disclosed herein permit visualization of not onlythe scan path itself, but also the anticipated quality of the 3D printedparts and/or objects (e.g., build density, surface roughness, porosity,etc.). While the direct metal laser melting (DMLM) process is used as anexample to describe a potential implementation of the methods andapparatus disclosed herein, the methods and apparatus disclosed hereincan be implemented in any other applicable additive manufacturingprocess (e.g., electron beam melting, direct energy deposition, etc.).Furthermore, the examples disclosed herein permit prediction of buildquality for 3D printing machine qualification and industrialization,provide guidance to parameter development, and enable adaptive parameterand scanning strategy assignment for different applications.

FIG. 1 illustrates an example additive manufacturing process 100 inwhich the methods and apparatus disclosed herein can be implemented. Theadditive manufacturing process 100 includes a laser source 102, lenses104, a scanning mirror 106, a laser beam 110, a leveling roller 112, apowder feed compartment 114, a powder feed piston 116, a print bed 118,and a build piston 120. The additive manufacturing process 100 alsoincludes a computing system 125 in communication with system componentsof the additive manufacturing process 100, and a visualization pathgenerator 128.

A powder bed fusion process (e.g., direct metal laser melting (DMLM),electron beam melting (EBM), selective laser melting (SLM), etc.)includes the use of a laser, an electron beam, and/or a thermal printhead to melt and fuse material powder together. The process includesspreading of the powder material over previous layers (e.g., using aroller, blade, etc.), with a reservoir (e.g., powder feed compartment114) providing a supply of fresh material powder. For example, a DMLMprocess can commence with a leveling roller 112 spreading a thin layer(e.g., 0.1 mm thick layer) of metal powder (e.g., stainless steel,titanium, aluminum, cobalt chrome, steel, etc.) on the print bed 118 ofa build compartment. Based on a given .STL file, the laser beam 110 isdirected to create a cross-section of the object by completely meltingthe metal particles on the print bed 118. For example, melting of themetal powder occurs where the laser beam 110 meets the top surface ofthe powder bed 118. The laser beam 110 is deflected off using thescanning mirror 106 and optics (e.g., lenses 104) to focus the beam 110on the surface of the powder bed 118. The beam 110 is moved in the x andy plane using a galvanometer system 108 that permits rotation of thedeflecting mirror(s) 106. Once a single layer is complete, the print bed118 is lowered (e.g., using build piston 120) to allow the process to berepeated to form a subsequent layer, with a new layer of powder spread(e.g., using leveling roller 112 once the powder feed piston 116 raisesthe powder feed 114) across the previous layer. Once all layers havebeen fused and added, excess unmelted powder is removed during postprocessing (e.g., brushed or blown away, etc.).

An example path 130 of the laser beam 110 provides a view of a firstmelt pool 132A and a second melt pool 132B formed during melting of themetal powder on the powder bed 118. For example, a separation betweentwo consecutive laser beams creates a scan spacing, such as the hatchspacing 134, measured based on a distance from a center of one laserbeam 110 scan (e.g., a first melt pool center 135A) to a center ofanother laser beam 110 scan (e.g., a second melt pool center 135B). Thehatch spacing 134 can be varied based on, for example, the laser beam110 spot size setting (e.g., a larger laser spot size results in alarger hatch spacing). An overlap between the melt pools 132A, 132Bpermits improved fusion of the melted metal powder to eliminate thepresence of porosity. Heat introduced by the laser beam 110 onto thepowder bed 118 is not homogenous throughout the laser diameter, with thehighest temperature occurring at the innermost region (e.g., due toGaussian temperature distribution of the laser beam 110). For example,laser power at a center of the laser beam 110 is higher than at theboundary of the scan, such that melting occurs at the center (e.g., atmelt pool center(s) 135A, 135B) while heating occurs at the boundary(e.g., increased melt pool overlap reduces heating-only areas). As such,a layer thickness 136 formed can be thicker at the center 135A, 135B ofthe melt pools 132A, 132B when compared to the boundaries of the meltpools 132A, 132B.

A number of process parameters affect the microstructure and mechanicalproperties of a 3D printed object using the powder bed fusion process,including scanning speed (mm/s) (e.g., example scanning speed 140), beamspeed/speed function, beam current (beam power, W), layer thickness (mm)(e.g., layer thickness 136), and line offset (e.g., hatch spacing 134).Such parameters can be adjusted to result in desired 3D printed objectproperties. For example, beam power, scan speed, hatch spacing 134, andlayer thickness 136 affect the energy density (e.g., average appliedenergy per volume of material, J/mm³). In some examples, the beam speed140 can be adjusted near an edge of the object to prevent overheating.In some examples, the melt pool 132A, 134B overlap can be varied tocontrol surface roughness, determine the level of porosity and/or varythe layer thickness. In some examples, an overlap of melt pools 132A,132B that is too small results in metal particles that are not fullyfused together (e.g., causing an increase in the number and size ofdefects). In some examples, an overlap of melt pools 132A, 132B that istoo large results in an accumulation of heat and thermal deformation ofthe part layers, also resulting in defect formations. Layer thickness136 (e.g., 50-150 um) affects the geometric accuracy of a fabricatedobject and can be varied depending on the type of 3D printer used, aswell as other process parameters such as material powder particle size.Additionally, the scanning pattern and scanning speed 140 also affectthe final 3D printed object microstructure and porosity. For example, ascanning pattern (e.g., cross-section of layer) represents the geometrictrack of the electron beam and/or laser beam 110 used to melt the metalpowder to form a cross-section on the powder bed 118. Such geometriescan include outer contours, inner contours, and/or the hatch pattern(e.g., formed based on the hatch spacing 134). The size of the area ofthe print bed 118 exposed to the laser beam 110 also affect materialproperties, given than heat conduction in larger melt pools 132A, 132Bis slower compared to smaller melt spots. For example, material meltedon the print bed 118 using a larger melt pool allows a more homogenousformation of the material with increased connection of the meltedmaterial with underlying layers 138 of a given build.

The additive manufacturing process 100 also includes a computing system125 and a visualization path generator 128. The computing system 125 mayinclude disk arrays or multiple workstations (e.g., desktop computers,workstation servers, laptops, etc.) in communication with one another.In the illustrated example of FIG. 1, the computing system 125 is incommunication 123 with the additive manufacturing process 100 systemcomponents via one or more wired and/or wireless networks. Such anetwork can be implemented using any suitable wired and/or wirelessnetwork(s) including, for example, one or more data buses, one or moreLocal Area Networks (LANs), one or more wireless LANs, one or morecellular networks, the Internet, etc. As used herein, the phrase “incommunication,” including variances thereof, encompasses directcommunication and/or indirect communication through one or moreintermediary components and does not require direct physical (e.g.,wired) communication and/or constant communication, but ratheradditionally includes selective communication at periodic or aperiodicintervals, as well as one-time events.

The example visualization path generator 128 of FIG. 1 can includehardware, software, firmware, robots, machines, etc. structured togenerate a three-dimensional view of the scan path used by the laser 110by determining the melt pool 132A, 132B geometry (e.g., width, depth,etc.) based on laser 110 parameters, as described in more detail inconnection with FIG. 2. For example, the visualization path generator128 can be used to adjust the melt pool 132A, 132B geometry to result ina 3D printed object that is devoid of defects by automatically adjustinglaser 110 parameters (e.g., laser power, laser spot size, laser speed,etc.) based on the generated 3D view of the scan path. In some examples,a user of the additive manufacturing process 100 can adjust laserparameters based on the 3D view of the scan path generated by thevisualization path generator 128. As such, the visualization pathgenerator 128 introduces increased control over the additivemanufacturing process 100 by generating one or more 3D model(s) of theobject to be printed based on the anticipated scan path and melt poolgeometry determined using the laser parameter settings. Additionally,the visualization path generator 128 can show an object scan pathlayer-by-layer or as a full 3D view that indicates areas where apotential defect and/or deviation from object surface homogeneity canoccur as a result of the selected laser parameters and/or other3D-printer settings.

FIG. 2 illustrates an example process 200 of generating athree-dimensional scanning path visualization using the example additivemanufacturing process 100 of FIG. 1. In the example of FIG. 2, animported laser profile toolpath 210, a melt pool geometry database 220,a 3D solid toolpath with lofting 230, and a melt-based partition of the3D solid toolpath 240 are illustrated. As used herein, lofting refers tosurfaces and/or solids generated from a section curve positioned along apath curve. For example, CAD-based drafting techniques permit loftingwhen designing 3D structures, such that a 3D solid or surface can beformed by specifying a series of cross sections which define the shapeof the resulting solid or surface. In the examples disclosed herein, themelt pool shape 226 of FIG. 2 represents the section curve used togenerate a 3D surface and/or solid, with the path curve representing thescan path.

The imported laser profile toolpath 210 represents a 2D polyline of thelaser beam 110 profile. For example, toolpaths can be assigned to anobject cross-section 2D geometry created using CAD and/or any otherapplication that can be used for generating 3D printer-compatible files.The profile toolpath 210 creates a cut line along and/or around a givenCAD-designed object's vectors, as described in more detail inassociation with FIG. 6A. For example, the laser profile toolpath 210can represent the path that the laser beam 110 will travel during theformation of a 2D layer on the powder bed 118.

The melt pool geometry database 220 can be formed based on a variety ofprocessing condition inputs (e.g., laser speed, spot size, etc.) inorder to yield melt pool 132A, 132B geometries (e.g., depth and/or widthof the melt pool 132A, 132B). In some examples, the melt pool geometrydatabase 220 can be generated using response surface models, asdescribed in more detail in connection with FIGS. 3A-3D. For example, afirst response surface 222 can be generated for a first laser spot sizeand a second response surface 224 can be generated for a second laserspot size. Using the response surface(s) 222 and/or 224, a melt poolshape 226 can be determine for the given set of parameters and/or inputs(e.g., laser speed, spot size, etc.). However, any other type ofassessment can be performed in order to generate the melt pool geometrydatabase 220 of FIG. 2 and is not limited to the use of response surfacemodels.

The 3D solid toolpath with lofting 230 represents a 3D melt pool shapedetermined based on the input laser profile toolpath (e.g., laserprofile toolpath 210) and the generated melt pool geometry database 220.For example, based on the melt pool geometry determined during thedatabase 220 development, the melt pool shape 226 is replicated to allowfor 3D visualization of the toolpath, including lofting (e.g., slopingedge formation).

The melt-based partition of the 3D solid toolpath 240 permits 3Dvisualization of partitioning based on a given number of times that alayer has been melted, as described in more detail in connection withFIGS. 4A-4B. For example, based on the number of times a given layer ismelted (e.g., on the cross-section formed by the melted powder as thelaser beam 110 outlines a given scanning pattern), the cross-section ofthe object being printed will be changed (e.g., increased homogeneity,increased pore formation, increased presence of defects, etc.). Suchchanges can be visualized in 3D as shown using the 3D solid toolpath 240using the methods and apparatus described herein and presented in moredetail in connection with FIGS. 3-11.

FIGS. 3A-3D illustrate example response surface model(s) 300, 325, 350,and 375 determined using the example process 200 of generating athree-dimensional scanning path visualization of FIG. 2. For example,response surface model(s) 300, 325 represent melt pool geometries for asmaller laser beam 110 spot size (e.g., spot size=75 um), while responsesurface diagram(s) 350, 375 represent melt pool geometries for a largerlaser beam 110 spot sizepowder (e.g., spot size=125 um). The responsesurface models show transfer functions between 3D printing processparameters (e.g., laser power, laser speed, and spot size) and melt poolgeometry dimensions (e.g., melt pool 132A, 132B depth and/or width). Forexample, the response surface model(s) 300 and 350 to determine thedepth of the melt pool(s) 132A, 132B at a spot size of 75 um and theresponse surface model(s) 325 and 375 to determine the depth of the meltpool(s) 132A, 132B at a spot size of 125 um can be based on Equations 1and 2 below with example transfer functions F1 and F2:

Depth=F1(speed,power,spot-size)  (1)

Width=F2(speed,power,spot-size)  (2)

For example, inputs to the first transfer function F1 (e.g., apolynomial function) include laser speed 310 (e.g., 400-1600 mm/s),laser power 312 (e.g., 200-350 W), and laser spot size (e.g., 75 um, 125um, etc.). Inputs to the transfer function F1 result in an output (e.g.,Depth) indicating the depth 305 of the melt pool (e.g., 10-600 um). Asthe laser parameters change, the output values for the melt pool depth305 are adjusted accordingly. Similarly, inputs to the second transferfunction F2 include the same laser parameter inputs as the laserparameter inputs to F1 in order to determine the melt pool width 308(e.g., 80-250 um). As such, the melt pool 132A, 132B geometry can bedetermined using the output depth 305 and width 308 values for thecorresponding laser parameter inputs of laser speed 310, laser power312, and/or laser spot size. In the examples of FIGS. 3A-3D, an array ofblack dots represent experimental data sets (e.g., data point 314 ofFIG. 3A). The experimental data sets include speed 310, power 312,spot-size and corresponding melt pool width and depth. As such, thisdata is used to interpolate and/or fit a polynomial transfer function(e.g., F1, F2) in order to generate the response surface models of FIGS.3A-3D.

In the examples of FIGS. 3A-3D, the x-axis represents speed 310, they-axis represents power 312, and the z-axis represents melt pool depth305 and/or width 308. As such, using the determined depths and widthsfor a melt pool geometry at a given laser spot size, the melt pool shapecan be determined as a half ellipse (e.g., melt-pool geometry 226), asshown in connection with FIG. 2. In the examples of FIGS. 3A and 3C, asmaller laser beam 110 spot size (e.g., decreased beam diameter) resultsin a deeper melt pool 132A, 132B formation when compared to a largerlaser beam 110 spot size (e.g., increased beam diameter). For example,the penetration depth 305 of the melt pool 132A, 132B is lower whenusing a larger beam diameter (e.g., as shown in FIG. 3C) when comparedto the penetration depth 305 of the melt pool when using a smaller beamdiameter (e.g., as shown in FIG. 3A). Increased scanning speed 310results in diminished melt pool penetration depth 305, given that thelaser energy is more dispersed and not as concentrated into the printbed 118 substrate and/or the underlying layer(s) 138. In comparison, thepenetration width 308 of the melt pool 132A, 132B is smaller when usinga smaller beam 110 diameter (e.g., as shown in FIG. 3B) and increases asthe laser beam 110 diameter increases (e.g., as shown in FIG. 3D). Assuch, melt pool geometries (e.g., melt pool depth 305 and/or melt poolwidth 308) can be determined using a set of parameters (e.g., laserspeed (mm/s) 310, laser beam spot size, laser beam power (W), etc.).

FIG. 4A illustrates example two-dimensional (2D) scanning paths 400based on input parameters as part of the three-dimensional scanning pathvisualization process 200 of FIG. 2. For example, based onuser-specified parameters (e.g., inputs of laser speed, spot size,power, etc.), the user can visualize the impact of the given set ofparameters on the build quality of the object to be 3D printed, therebybeing able to modify the parameters to achieve the intended buildquality (e.g., free of defects, etc.). In the example of FIG. 4A, partof the build quality can be evaluated based on whether there is too muchburn back 402, adequate amount of fusion 404, and/or a lack of fusion406. The half-circle patterns shown in FIG. 4A correspond to the meltpool geometry 226 of FIG. 2 that can be determined based on the exampleresponse surface models of FIGS. 3A-3D. Given that the laser-specificparameters (e.g., power, speed, spot size, etc.) can change during thebuild to accommodate a specific section of the build (e.g., specificlayer and/or edge of object being 3D printed), the melt pool geometry226 likewise changes and can be modified based on the parameter set forvarious features of the build (e.g., bulk area, contour area, downskinarea, etc.). For example, a specific build strategy may includeselection among specific parameter settings, including powder bed (e.g.,particle distribution, layer thickness, etc.), bulk, contour, up- anddown-skin parameters, hatch distance, scan vector rotation, etc. Forexample, FIG. 4A provides a 2D cross-sectional view illustrating ascanning path that includes bulk and contour melt pool geometries, suchthat the user can visualize the bulk density and contour surfacequality. In the example of too much burn back 402, the darker regionscorrespond to increased melting (e.g., increased number of melts) at thegiven layer. In the example of an adequate amount of particle fusion404, the number of overlapping darker regions is reduced, as compared towhen there is too much burn back 402. For example, an adequate amount ofparticle fusion 404 indicates that the number of times the layer hasbeen melted is reduced and is enough to fuse the particles together tocreate a homogenous part, such that the layer is neither over-melted orunder-melted (e.g., lack of particle fusion). In the example of a lackof particle fusion 406, the decreased number of melts results inincreased white areas that represent potential formation of porosity dueto lack of fusion. As such, too much burn back 402 and/or a lack ofparticle fusion 406 can introduce defects into the build. However, theability to view a 2D representation of the scanning path(s) based ondesignated parameters allows identification of the anticipated buildquality and permits correction and/or modification of the parameters toeliminate and/or reduce the occurrence of defects in the final 3Dprinted object. While in some examples a user can select and/or modifyparameters to achieve a higher quality of the build, this can likewisebe achieved based on computer-based optimization and/or modeling usingthe disclosed methods and apparatus, such that the parameters can beadjusted automatically to reduce any defects and/or improve the qualityof the build to ensure maximum adherence to the original object design(e.g., using a CAD model).

FIG. 4B illustrates an example quantitative assessment 425 of apercentage of volume melted based on a melt layer as part of thetwo-dimensional scanning paths 400 of FIG. 4A. For example, based on thescanning paths 400 (e.g., producing too much burn back 402, adequateamount of fusion 404, and/or a lack of fusion 406), the quantitativeassessment 425 of an example percentage of volume melted 430 can beperformed to identify the percentage of material melted a given numberof times (e.g., represented by melt layers 435, including an un-meltedlayer 440, a once-melted layer 445, a twice-melted layer 450 twice, athree-times melted layer 455, a four-time melted layer 460, and/or afive-times melted layer 465, etc.). In the example of too much burn back402, ˜40% of the material per volume has been melted a total of threetimes (e.g., the melt layer 455). In the example of an adequate amountof fusion 404, ˜52% of the material has been melted once only (e.g., themelt layer 445), while in the example of a lack of fusion 406, up to˜72% of the material has been melted only once (e.g., the melt layer445). As such, the assessment of potential build quality can beperformed not only using a visual representation of the scan path, butalso a quantitative assessment 425 of the volume of material that ismelted using a given scan path and/or a given build strategy (e.g.,contour area, down-skin area, bulk area, etc.).

FIG. 5 illustrates an example three-dimensional geometry 600 of a givennumber of melts 435 based on the three-dimensional scanning pathvisualization 400 of FIG. 4A. In the example of FIG. 5, a one melt layer505 represents the scan path taken by the laser beam 110 and associatedmelt pool geometry 226 that results based on a given set of parameters,as described in association with FIGS. 3A-3D. For example, the layerformed during a single melt follows the laser profile toolpath 210outline to form the crisscrossed pattern shown as part of the one meltlayer 505, which includes a lower region 510. An example geometry with atotal of two melt layers 515, with a lower region 520 of thetwice-melted geometry, indicates the 3D view of the object layer whentwo passes of the laser beam 110 have been made. Likewise, an examplegeometry formed using a total of three melts 525 and an example geometryformed using a total of four melts 530, indicate how the structure of agiven object layer can change as the total number of melts increases. Assuch, this can also serve, in some examples, as a visual aid to betterunderstand how a given number of melt layers can affect the final 3Dprinted object geometry.

FIG. 6A illustrates an example three-dimensional scanning path 600determined using an example laser profile as part of the additivemanufacturing process 100 of FIG. 1. In the example of FIG. 6A, a CADmodel 602 is used with a laser beam tool path 604 to create the as-weldobject geometry 606, which provides a 3D view of the object geometrybased on the tool path 604 and/or parameter settings (e.g., laser speed,laser beam spot size, laser power, etc.). In some examples, the 3D viewof the as-weld object geometry 606 can be adjusted based on changes inthe given settings and/or build strategy (e.g., contour areas, down-skinareas, bulk areas, etc.). In some examples, the 3D view of the as-weldobject geometry 606 can be used to visualize and/or estimate shapedeviations and/or discrepancies. For example, FIG. 6B illustrates anidentification 625 of negative shape deviation 630 and positive shapedeviation 634 based on the three-dimensional scanning path 600visualization of FIG. 6A. In the negative shape deviation 630, buildareas with a lack of fusion can contribute to a lack of materialpresence in some areas of the build. In the positive shape deviation634, an additional amount of material is present in the overhang regionof the build. As a result, visual verification of a positive and/ornegative shape deviation allows for optimization of parameters to avoidand/or minimize such shape deviations, such that the scan path 604 canbe updated to reduce the one or more discrepancies (e.g., a new scanpath can be added to the negative shape deviation 630 which exhibits alack of fusion).

FIG. 7 illustrates example two-dimensional and three-dimensionalscanning tool paths 700, 750 and an example lack of fusion that can beidentified using the three-dimensional view 750. For example, the 2Dtool path 700 represents a limitation of known approaches that onlyprovide a 2D view of multiple example scan paths 702 of a laser beam110. In such a 2D view, it is not possible to identify any shapedeviations and/or quality of the final 3D build. Using the methods andapparatus disclosed herein, a 3D scanning tool path 750 visualizationpermits identification of defect(s) 754, 756, and/or 758 in the 3Dobject build based on the selected parameter settings (e.g., laserspeed, laser beam spot size, laser power, etc.), including auser-provided build strategy setting (e.g., use of contour areas,down-skin areas, bulk areas, etc.). For example, using the 3D scanningtool path 750 visualization, it is possible to identify areas that willresult in a lack of fusion (e.g., not enough melted layers) that cancontribute to the presence of openings and/or pores that introducedefects into the final built object. For example, based on thelayer-by-layer geometry of the object to be 3D-printed (e.g., using aCAD file as input), as well as the known parameters of the laser to beused during the build process (e.g., spot size, laser power, scanspeed), the 3D scanning tool path 750 visualization can be generated toview the scan path in 3D, using the melt pool shape 752 (e.g., depth305, width 308). The visualization of the tool path 750 allows for auser to visually assess the expected quality of the build using thelaser settings, or for a given system (e.g., 3D printing system) toindependently identify any potential defects and/or correct for suchdefects by adjusting the laser parameters, thereby adjusting the meltpool shape 752. As such, given that the melt pool geometry 226 can beidentified as described in connection with FIGS. 3A-3D, the 3D scanningtool path 750 allows for visualization of the melt pool shape 752, whichcan introduce additional microscopic structural features to the final3D-printed object.

FIG. 8 illustrates example three-dimensional views 800, 850 of differentparameter sets applied during a single build using the example additivemanufacturing process 100 of FIG. 1. For example, different buildstrategies can include the use of contour areas, down-skin areas, and/orbulk areas as part of the build. Given an ability to visualize thescanning path in 3D, it is possible to further visualize the differentparameter sets applied to a single build, including a build with anexample contour scan path 810 that has a larger depth than an examplehatch scan path 820, shown as part of the three-dimensional views 800,850 of a single build. Such a difference in the object areas is notvisible when using a 2D view. For example, in a 2D view of the scanpath, only individual lines would be visible without taking into accountthe melt pool geometry 226 and its effect on the quality of the build.Conversely, 3D visualizations 800, 850 permit assessment of the buildquality by using the melt pool geometry 226 to visualize the build usinga variety of build strategies (e.g., contour areas, down-skin areas,etc.) which are not visible using a 2D view of the scan path. As such,based on the 3D views of the scan path, a user can adjust parametersettings and/or edit the scan path to eliminate and/or reduce lack offusion, as well as presence of positive and/or negative deviations(e.g., as shown in FIG. 6B).

FIG. 9 is a block diagram of the visualization path generator 128 thatcan be implemented as part of the example additive manufacturing process100 of FIG. 1. The visualization path generator 128 includes a parameterdeterminer 905, a response curve generator 910, a melt pool geometrydeterminer 915, and a test results analyzer 920.

The parameter determiner 905 can be used to determine and/or adjustsettings for a specific parameter related to the electron beam and/orlaser beam 110, including but not limited to laser beam size, laserspeed, and/or laser power. In some examples, such parameter settings canbe determined based on the type of 3D printing machine being used and/orother settings provided by a manufacturer. In some examples, suchparameter settings are adjusted based on user input and/or adjustment.The parameter determiner 905 can further be used to determine parametersassociated with a build strategy, such as introduction of areas of thebuild which include but are not limited to contour areas, down-skinareas, and/or bulk areas. In some examples, the parameter determiner 905adjusts parameters based on a performed assessment that can identifywhether a certain parameter combination yields an improved quality ofthe final 3D build. In some examples, the parameter determiner 905 canprovide and/or adjust parameter settings based on features of a giveninput model (e.g., a .STL file based on a CAD model) by comparing theinput model to prior builds and parameters that previously provided ahigh quality build with eliminated and/or reduced defects, deficiencies,etc. In some examples, the parameter determiner 905 can adjust theparameter settings based on a given layer being built, such thatsettings for one layer of the build and/or one regions of the build canvary depending on the intended object microstructure. In some examples,the parameter determiner 905 can further be used to identify and/oradjust the number of melt layers that can be used to obtain a highquality build (e.g., avoid lack of fusion, positive deviations, and/ornegative deviations).

The response curve generator 910 can be used to create one or moreresponse curve model(s) based on provided processing condition inputs(e.g., laser speed, laser power, laser beam spot size, etc.) in order todetermine a melt pool geometry using the melt pool geometry determiner915. For example, the response curve generator 910 can generate aresponse curve model based on provided inputs in order to assess how theparameter settings can affect the final build. In some examples, theresponse curve generator 910 can generate a response curve model for agiven laser beam 110 spot size, such that the spot size can change basedon a given region and/or layer of the build. In some examples, theresponse curve generator 910 can output adjusted parameters that resultin an increase or a decrease in specific melt pool geometry features(e.g., melt pool depth and/or melt pool width).

The melt pool geometry determiner 915 can determine melt pool geometryfeatures (e.g., melt pool width and/or melt pool depth) using theresponse curve generator 910 and/or the parameter determiner 905. Insome examples, the melt pool geometry determiner 915 can output thedetermined width and/or depth of the melt pool to allow for 2D and/or 3Dvisualization of the scanning toolpath using the identified melt poolgeometry. For example, the melt pool geometry determiner 915 can be usedto create a database of melt pool geometries based on a variety ofparameter settings and/or build settings. In some examples, the meltpool geometry determiner 915 can adjust and/or modify the scanningtoolpath used to create a 2D and/or 3D view of the build in order toaccount for identified regions that require changes in parametersettings and/or melt pool geometry changes (e.g., to reduce lack offusion, eliminate negative deviation, etc.).

The test results analyzer 920 can be used to assess build quality basedon given parameter settings. For example, the test results analyzer 920can be used to determine build features such as surface roughness,density, porosity, etc. In some examples, the test results analyzer 920determines whether one or more print parameters require modification toachieve a higher quality build result. In some examples, the testresults analyzer 920 can be used to determine whether a given melt poolgeometry and/or overall print parameters contribute to an increase inparticle fusion and/or decrease in particle fusion, both of which canresult in defects. For example, the test results analyzer 920 candetermine the percentage of material volume that is melted given aspecific number of melt layers used as part of the print settings. Insome examples, the test results analyzer 920 can compare acquiredresults from previous printed models to determine which parametersettings contributed to an increase in build quality to allow for thefinal 3D built object to be a replica of the original CAD-based design.In some examples, the test results analyzer can be used to calculateoverlaps between laser beam paths and determine specific parameters fromresponse surface melt pool characteristics that improve the buildprocess (e.g., avoid increased fusion). In some examples, the testresults analyzer can further identify parameter limits, determine wherein a processing window to focus on, and/or determine next optimizingsteps based on limits of analysis.

For example, in operation, the visualization path generator 128 receivesinput regarding the laser beam 110 which is processed by the parameterdeterminer 905 to identify the laser beam parameters (e.g., laser power,laser spot size, scanning path, etc.). The melt pool geometry determiner915 determines a melt pool geometry 226 (e.g., melt pool width and/ormelt pool depth) based on the laser parameters identified by theparameter determiner 905. The visualization path generator 128 uses thegenerated melt pool geometry to output a 3D visualization of thescanning tool path, such that a user can visualize the object as itwould be 3D-printed using the scanning tool path. The visualization pathgenerator 128 identifies negative deviation(s) using the generated 3Dscan path (e.g., based on the number of times a layer is melted usingthe given set of laser parameter settings). The visualization pathgenerator 128 adjusts the laser parameters to remedy the negativedeviation and/or to avoid negative deviation(s) in future processes. Forexample, the visualization path generator 128 uses the melt poolgeometry determiner 915 to identify other melt pool geometries 226 thatwould be more suitable to a specific additive manufacturing process(e.g., type of object being built, type of printer settings that are notadjustable, material properties of the selected material for the 3Dprinting process, etc.). The visualization path generator 128 uses thetest results analyzer 920 to quantify the expected quality of theanticipated build using a specific melt pool geometry 226 (e.g.,percentage of porosity, percentage of material fusion, etc.). While anexample manner of implementing the visualization path generator 128 isillustrated in FIG. 9, one or more of the elements, processes and/ordevices illustrated in FIG. 9 may be combined, divided, re-arranged,omitted, eliminated and/or implemented in any other way. Further, theexample parameter determiner 905, the example response curve generator910, the example melt pool geometry determiner 915, the example testresults analyzer 920, and/or, more generally, the example visualizationpath generator 128 of FIG. 9 may be implemented by hardware, software,firmware and/or any combination of hardware, software and/or firmware.Thus, for example, any of the parameter determiner 905, the exampleresponse curve generator 910, the example melt pool geometry determiner915, the example test results analyzer 920, and/or, more generally, theexample visualization path generator 128 of FIG. 9 could be implementedby one or more analog or digital circuit(s), logic circuits,programmable processor(s), programmable controller(s), graphicsprocessing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)),application specific integrated circuit(s) (ASIC(s)), programmable logicdevice(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)).When reading any of the apparatus or system claims of this patent tocover a purely software and/or firmware implementation, at least one ofthe example parameter determiner 905, the example response curvegenerator 910, the example melt pool geometry determiner 915, theexample test results analyzer 920, and/or, more generally, the examplevisualization path generator 128 of FIG. 9 is/are hereby expresslydefined to include a non-transitory computer readable storage device orstorage disk such as a memory, a digital versatile disk (DVD), a compactdisk (CD), a Blu-ray disk, etc. including the software and/or firmware.Further still, the example visualization path generator 128 may includeone or more elements, processes and/or devices in addition to, orinstead of, those illustrated in FIG. 9, and/or may include more thanone of any or all of the illustrated elements, processes and devices. Asused herein, the phrase “in communication,” including variationsthereof, encompasses direct communication and/or indirect communicationthrough one or more intermediary components, and does not require directphysical (e.g., wired) communication and/or constant communication, butrather additionally includes selective communication at periodicintervals, scheduled intervals, aperiodic intervals, and/or one-timeevents.

Flowcharts representative of example hardware logic, machine readableinstructions, hardware implemented state machines, and/or anycombination thereof for implementing the visualization path generator128 of FIG. 9 are shown in FIGS. 10-11. The machine readableinstructions may be one or more executable programs or portion(s) of anexecutable program for execution by a computer processor such as theprocessor 1212 shown in the example processor platform 1200 discussedbelow in connection with FIG. 12. The program may be embodied insoftware stored on a non-transitory computer readable storage mediumsuch as a CD-ROM, a floppy disk, a hard drive, a DVD, a Blu-ray disk, ora memory associated with the processor 1212, but the entire programand/or parts thereof could alternatively be executed by a device otherthan the processor 1212 and/or embodied in firmware or dedicatedhardware. Further, although the example program is described withreference to the flowchart illustrated in FIGS. 10-11, many othermethods of implementing the example visualization path generator 128 ofFIG. 9 may alternatively be used. For example, the order of execution ofthe blocks may be changed, and/or some of the blocks described may bechanged, eliminated, or combined. Additionally or alternatively, any orall of the blocks may be implemented by one or more hardware circuits(e.g., discrete and/or integrated analog and/or digital circuitry, anFPGA, an ASIC, a comparator, an operational-amplifier (op-amp), a logiccircuit, etc.) structured to perform the corresponding operation withoutexecuting software or firmware.

The machine readable instructions described herein may be stored in oneor more of a compressed format, an encrypted format, a fragmentedformat, a compiled format, an executable format, a packaged format, etc.Machine readable instructions as described herein may be stored as data(e.g., portions of instructions, code, representations of code, etc.)that may be utilized to create, manufacture, and/or produce machineexecutable instructions. For example, the machine readable instructionsmay be fragmented and stored on one or more storage devices and/orcomputing devices (e.g., servers). The machine readable instructions mayrequire one or more of installation, modification, adaptation, updating,combining, supplementing, configuring, decryption, decompression,unpacking, distribution, reassignment, compilation, etc. in order tomake them directly readable, interpretable, and/or executable by acomputing device and/or other machine. For example, the machine readableinstructions may be stored in multiple parts, which are individuallycompressed, encrypted, and stored on separate computing devices, whereinthe parts when decrypted, decompressed, and combined form a set ofexecutable instructions that implement a program such as that describedherein.

In another example, the machine readable instructions may be stored in astate in which they may be read by a computer, but require addition of alibrary (e.g., a dynamic link library (DLL)), a software development kit(SDK), an application programming interface (API), etc. in order toexecute the instructions on a particular computing device or otherdevice. In another example, the machine readable instructions may needto be configured (e.g., settings stored, data input, network addressesrecorded, etc.) before the machine readable instructions and/or thecorresponding program(s) can be executed in whole or in part. Thus, thedisclosed machine readable instructions and/or corresponding program(s)are intended to encompass such machine readable instructions and/orprogram(s) regardless of the particular format or state of the machinereadable instructions and/or program(s) when stored or otherwise at restor in transit.

The machine readable instructions described herein can be represented byany past, present, or future instruction language, scripting language,programming language, etc. For example, the machine readableinstructions may be represented using any of the following languages: C,C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language(HTML), Structured Query Language (SQL), Swift, etc.

As mentioned above, the example processes of FIGS. 10-11 may beimplemented using executable instructions (e.g., computer and/or machinereadable instructions) stored on a non-transitory computer and/ormachine readable medium such as a hard disk drive, a flash memory, aread-only memory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media.

FIG. 10 illustrates a flowchart representative of example machinereadable instructions 1000 which may be executed to implement theexample visualization path generator 128 of FIG. 9. A melt pool geometrydeterminer 915 creates a database of melt pool geometries based on inputparameter settings (e.g., laser speed, spot size, laser power identifiedby the parameter determiner 905) using the response curve generator 910(block 1005). Once a database of melt pool geometries exists for variousparameter settings, additional build settings (e.g., bulk areas,down-skin areas, contour areas of the build, etc.) are provided as inputusing user-based input and/or the parameter determiner 905 (block 1010).For example, the parameter determiner 905 can determine the buildsettings based on the input object model (e.g., .STL file from a CADmodel). Based on the input build parameters and provided parametersettings, the melt pool geometry determiner 915 determines the melt poolgeometry based on the given conditions (block 1015). In some examples,the melt pool geometry determiner 915 varies the melt pool geometry(e.g., width and/or depth) based on the additional build settings on alayer-by-layer basis and/or based on the region of the object beingfabricated. The visualization path generator 128 generates a 3D scanningpath to allow for a user, system, application, interface, etc., tovisualize the object to be fabricated on a layer-by-layer basis (block1025). For example, the visualization path generator 128 provides a 2Dand/or a 3D view of the scanning path to allow the user to identifyareas that may require parameter setting modification. In otherexamples, the visualization path generator 128 can automatically re-setthe laser 110 parameters to generate a scanning path that reducespresence of defects in the final 3D-printed object (e.g., allows for the3D-printed object to be as close a reproduction of the originalCAD-based file input as possible). In some examples, the test resultsanalyzer 920 assesses the build quality (e.g., surface roughness,density, porosity, etc.) (block 1030). In some examples, the testresults analyzer 920 modifies the print parameter(s) to improve buildquality (block 1035). Once a print parameter has been modified, theparameter settings for the build are input, and the melt pool geometrydeterminer 915 proceeds to determine the melt pool geometry based on thechanged parameters using the melt pool geometry database. Thevisualization path generator 128 can therefore be used to modify the 3Dprinting parameters prior to the object being 3D printed using theadditive manufacturing process 100 of FIG. 1 (block 1040). As such, thevisualization path generator 128 permits a more controlled andpredictable 3D printing process given that the 3D-printer parameters(e.g., laser parameters) are considered in advance of a given objectbeing built and/or manufactured in order to account for changes in theobject microstructure and/or morphology that would otherwise not benoticed until after the 3D printing has been completed. The unique meltpool geometry 226 generated by the visualization path generator 128 whenidentifying the laser-specific parameters of a given 3D printer permit auser and/or the visualization path generator 128 to adjust the settingsin order to yield a 3D printed object that most closely approximates thedesired structure of the 3D printed object intended by the user and/orestablished manufacturing standards. As such, the visualization pathgenerator 128 used in combination with the additive manufacturingprocess 100 reduces the time and cost (e.g., material costs, 3D-printerassociated costs, etc.) needed to manufacture 3D printed objects and/orparts that are highly consistent with the initially-designed objectsand/or parts (e.g., as based on the original computer-based model).

FIG. 11 illustrates a flowchart representative of example machinereadable instructions 1100 which can be executed to implement theexample melt pool geometry determiner 915 of FIG. 9 to create a databaseof melt pool geometries (e.g., block 1005 in the example flow diagram1000 of FIG. 10). The melt pool geometry determiner 915 creates adatabase of melt pool geometries based on input parameter settingsand/or by processing condition inputs (e.g., laser speed, laser power,laser beam spot size, etc.) (block 1105). In some examples, suchparameters can be identified using the parameter determiner 905. In someexamples, the parameters can be provided by a user. The melt poolgeometry determiner 915 records melt pool geometry (block 1110) based onoutputs provided by the response curve generator 910, including meltpool depth and/or melt pool width (block 1115). In some examples, themelt pool geometry can be determined using assessments other than aresponse curve model. In some examples, the melt pool geometry databasecan include melt pool geometries generated as part of previous builds.In operation, once a CAD model of an object and/or part to be 3D printedusing the additive manufacturing process 100 of FIG. 1 is input to a 3Dprinter, the parameter determiner 905 determines laser parameters (e.g.,speed, spot size, power) associated with the given 3D printer. In someexamples, the laser parameters can include a range for each setting(e.g., speed range of a laser for a given printer may be 400-1600 mm/s).Using the parameter range, the melt pool geometry determiner 915generates a potential range of melt pool geometries based on a set ofgiven laser parameters. The visualization path generator 128 generates a3D view of the scan path to determine which set of parameters mostclosely replicates the original design provided using an input CADmodel. The visualization path generator 128 uses the test resultsanalyzer 920 to determine, for example, the percentage porosity, thepercentage of layers with adequate particle fusion, etc. Based on thetest results analyzer 920 output, the visualization path generator 128selects the laser parameters that are determined to allow for thehighest quality build (e.g., most closely replicating the CAD model). Toallow for a user to interact directly with the 3D printing process, thevisualization path generator 128 outputs a visual representation of the3D scan path view for the user, allowing for manual adjustments of thelaser parameters if needed.

FIG. 12 is a block diagram of an example processing platform structuredto execute the instructions of FIGS. 10-11 to implement the examplevisualization path generator of FIG. 9. The processor platform 1200 canbe, for example, a server, a personal computer, a workstation, aself-learning machine (e.g., a neural network), or any other type ofcomputing device.

The processor platform 1200 of the illustrated example includes aprocessor 1212. The processor 1212 of the illustrated example ishardware. For example, the processor 1212 can be implemented by one ormore integrated circuits, logic circuits, microprocessors, GPUs, DSPs,or controllers from any desired family or manufacturer. The hardwareprocessor may be a semiconductor based (e.g., silicon based) device. Inthis example, the processor 1212 implements the example parameterdeterminer 905, the example response curve generator 910, the examplemelt pool geometry determiner 915, and the example test results analyzer920.

The processor 1212 of the illustrated example includes a local memory1213 (e.g., a cache). The processor 1212 of the illustrated example isin communication with a main memory including a volatile memory 1214 anda non-volatile memory 1216 via a bus 1218. The volatile memory 1214 maybe implemented by Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAMBUS® Dynamic Random AccessMemory (RDRAM®) and/or any other type of random access memory device.The non-volatile memory 1216 may be implemented by flash memory and/orany other desired type of memory device. Access to the main memory 1214,1216 is controlled by a memory controller.

The processor platform 1200 of the illustrated example also includes aninterface circuit 1220. The interface circuit 1220 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), a Bluetooth® interface, a near fieldcommunication (NFC) interface, and/or a PCI express interface.

In the illustrated example, one or more input devices 1222 are connectedto the interface circuit 1220. The input device(s) 1222 permit(s) a userto enter data and/or commands into the processor 1212. The inputdevice(s) 1222 can be implemented by, for example, an audio sensor, amicrophone, a camera (still or video), a keyboard, a button, a mouse, atouchscreen, a track-pad, a trackball, isopoint and/or a voicerecognition system.

One or more output devices 1224 are also connected to the interfacecircuit 1220 of the illustrated example. The output devices 1224 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay (LCD), a cathode ray tube display (CRT), an in-place switching(IPS) display, a touchscreen, etc.), a tactile output device, a printerand/or speaker. The interface circuit 1220 of the illustrated example,thus, typically includes a graphics driver card, a graphics driver chipand/or a graphics driver processor.

The interface circuit 1220 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem, a residential gateway, a wireless access point, and/or a networkinterface to facilitate exchange of data with external machines (e.g.,computing devices of any kind) via a network 1226. The communication canbe via, for example, an Ethernet connection, a digital subscriber line(DSL) connection, a telephone line connection, a coaxial cable system, asatellite system, a line-of-site wireless system, a cellular telephonesystem, etc.

The processor platform 1200 of the illustrated example also includes oneor more mass storage devices 1228 for storing software and/or data.Examples of such mass storage devices 1228 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, redundantarray of independent disks (RAID) systems, and digital versatile disk(DVD) drives.

The machine executable instructions 1232 of FIGS. 10-11 may be stored inthe mass storage device 1228, in the volatile memory 1214, in thenon-volatile memory 1216, and/or on a removable non-transitory computerreadable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that methods and apparatusdescribed herein permit 2D and 3D scanning path visualization as part ofthe 3D printing process. Example methods and apparatus disclosed hereinpermit users to directly assess a relationship between parameter setsand the resulting quality of the build (e.g., the final 3D printedobject). For example, users can visualize a laser powder bed DMLM scanpath in 2D and 3D based on measured and/or predicted melt poolgeometries. Current techniques rely on the visualization of a scan pathbased on one-dimensional (1D) vectors in a layer-by-layer view, limitingthe amount of information accessible to the user. In the examplesdisclosed herein, melt pool information can be used to generate 2D and3D scanning paths based on input from CAD models. The examples disclosedherein permit visualization of not only the scan path itself, but alsothe anticipated quality of the 3D printed parts and/or objects (e.g.,build density, surface roughness, porosity, etc.). Methods and apparatusdisclosed herein can be implemented in any applicable additivemanufacturing process (e.g., electron beam melting, etc.).

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

The following claims are hereby incorporated into this DetailedDescription by this reference, with each claim standing on its own as aseparate embodiment of the present disclosure.

What is claimed is:
 1. An apparatus comprising: a parameter determinerto determine at least one of a laser beam parameter setting or anelectron beam parameter setting; a melt pool geometry determiner toidentify melt pool dimensions using the parameter setting, the melt poolgeometry determiner to vary the parameter setting to obtain multiplemelt pool dimensions; and a visualization path generator to generate athree-dimensional view of a scanning path for an additive manufacturingprocess using the identified melt pool dimensions, the visualizationpath generator to adjust the laser beam parameters based on thegenerated three-dimensional view.
 2. The apparatus of claim 1, furtherincluding a response curve generator, the response curve generator togenerate a response surface model used to determine the melt pooldimensions.
 3. The apparatus of claim 2, wherein the response curvegenerator is to receive parameter settings, the parameter settingsincluding at least one of a laser beam spot size, a laser power, and alaser speed.
 4. The apparatus of claim 1, wherein the melt pooldimensions include a melt pool width and a melt pool depth.
 5. Theapparatus of claim 1, wherein the three-dimensional view includes acontour area, a bulk area, or a down-skin area.
 6. The apparatus ofclaim 1, wherein the three-dimensional view permits display of buildareas showing a lack of fusion or excess melting.
 7. The apparatus ofclaim 1, wherein the visualization path generator generates athree-dimensional view of a scanning path based on a number of meltlayers.
 8. The apparatus of claim 7, wherein the visualization pathgenerator outputs a percentage of material volume melted per the numberof melt layers.
 9. A method comprising: determining a laser beamparameter setting or an electron beam parameter setting; identifyingmelt pool dimensions using the parameter setting, the parameter settingvaried to obtain multiple melt pool dimensions; generating athree-dimensional view of a scanning path for an additive manufacturingprocess using the identified melt pool dimensions; and adjusting thelaser beam parameters based on the generated three-dimensional view. 10.The method of claim 9, further including generating a response surfacemodel used to determine the melt pool dimensions.
 11. The method ofclaim 10, further including receiving parameter settings, the parametersettings including at least one of a laser beam spot size, a laserpower, and a laser speed.
 12. The method of claim 9, wherein the meltpool dimensions include a melt pool width and a melt pool depth.
 13. Themethod of claim 9, wherein the three-dimensional view includes a contourarea, a bulk area, or a down-skin area.
 14. The method of claim 9,further including displaying build areas showing a lack of fusion orexcess melting.
 15. The method of claim 9, further including generatinga three-dimensional view of a scanning path based on a number of meltlayers.
 16. The method of claim 15, further including outputting apercentage of material volume melted per the number of melt layers. 17.A non-transitory computer readable storage medium comprisinginstructions that, when executed, cause a processor to at least:determine a laser beam parameter setting or an electron beam parametersetting; identify melt pool dimensions using the parameter setting theparameter setting varied to obtain multiple melt pool dimensions;generate a three-dimensional view of a scanning path for an additivemanufacturing process using the identified melt pool dimensions; andadjust the laser beam parameters based on the generatedthree-dimensional view.
 18. The non-transitory computer readable storagemedium of claim 17, wherein the instructions, when executed, cause aprocessor to generate a response surface model used to determine themelt pool dimensions.
 19. The non-transitory computer readable storagemedium of claim 18, wherein the instructions, when executed, cause aprocessor to receive parameter settings, the parameter settingsincluding at least one of a laser beam spot size, a laser power, and alaser speed.
 20. The non-transitory computer readable storage medium ofclaim 17, wherein the instructions, when executed, cause a processor todisplay build areas showing a lack of fusion or excess melting.